<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>Aria: Easy Subset of ARIA for Beginners</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Aria
   &#160;<span id="projectnumber">2.9.1</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li class="current"><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li><a href="examples.html"><span>Examples</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('group__easy.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">Easy Subset of ARIA for Beginners</div>  </div>
</div><!--header-->
<div class="contents">

<p>This category highlights a minimal, essential set of features to get started using ARIA as quickly as possible, especially when writing short programs or Python scripts to experiment and learn.  
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArLog.html">ArLog</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Logging utility class.  <a href="classArLog.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArMath.html">ArMath</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Common math operations.  <a href="classArMath.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArPose.html">ArPose</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Represents an x, y position with an orientation.  <a href="classArPose.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga9ab030786d423237d3e4aa06c0e9d8ce"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__easy.html#ga9ab030786d423237d3e4aa06c0e9d8ce">ArRobot::addAction</a> (<a class="el" href="classArAction.html">ArAction</a> *action, int priority)</td></tr>
<tr class="memdesc:ga9ab030786d423237d3e4aa06c0e9d8ce"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds an action to the list with the given priority.  <a href="#ga9ab030786d423237d3e4aa06c0e9d8ce">More...</a><br /></td></tr>
<tr class="separator:ga9ab030786d423237d3e4aa06c0e9d8ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1f04eeb3c55892aef6fc179f48eaba18"><td class="memItemLeft" align="right" valign="top">static double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__easy.html#ga1f04eeb3c55892aef6fc179f48eaba18">ArMath::addAngle</a> (double ang1, double ang2)</td></tr>
<tr class="memdesc:ga1f04eeb3c55892aef6fc179f48eaba18"><td class="mdescLeft">&#160;</td><td class="mdescRight">This adds two angles together and fixes the result to [-180, 180].  <a href="#ga1f04eeb3c55892aef6fc179f48eaba18">More...</a><br /></td></tr>
<tr class="separator:ga1f04eeb3c55892aef6fc179f48eaba18"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga67e1a8742f38e6cfbe48cdb89ab8a740"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga67e1a8742f38e6cfbe48cdb89ab8a740"></a>
static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__easy.html#ga67e1a8742f38e6cfbe48cdb89ab8a740">ArMath::angleBetween</a> (double angle, double startAngle, double endAngle)</td></tr>
<tr class="memdesc:ga67e1a8742f38e6cfbe48cdb89ab8a740"><td class="mdescLeft">&#160;</td><td class="mdescRight">Finds if one angle is between two other angles. <br /></td></tr>
<tr class="separator:ga67e1a8742f38e6cfbe48cdb89ab8a740"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad21b5077d7f093e1dab8b95ca0610fc5"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__easy.html#gad21b5077d7f093e1dab8b95ca0610fc5">ArTime::ArTime</a> ()</td></tr>
<tr class="memdesc:gad21b5077d7f093e1dab8b95ca0610fc5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor.  <a href="#gad21b5077d7f093e1dab8b95ca0610fc5">More...</a><br /></td></tr>
<tr class="separator:gad21b5077d7f093e1dab8b95ca0610fc5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadd5c8cde271a71c44bbfa0b6376ba1ec"><td class="memItemLeft" align="right" valign="top">static double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__easy.html#gadd5c8cde271a71c44bbfa0b6376ba1ec">ArMath::atan2</a> (double y, double x)</td></tr>
<tr class="memdesc:gadd5c8cde271a71c44bbfa0b6376ba1ec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Finds the arctan of the given y/x pair.  <a href="#gadd5c8cde271a71c44bbfa0b6376ba1ec">More...</a><br /></td></tr>
<tr class="separator:gadd5c8cde271a71c44bbfa0b6376ba1ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga953ffdd0b569b33cbfd5a8f69cf3c69a"><td class="memItemLeft" align="right" valign="top">static double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__easy.html#ga953ffdd0b569b33cbfd5a8f69cf3c69a">ArMath::cos</a> (double angle)</td></tr>
<tr class="memdesc:ga953ffdd0b569b33cbfd5a8f69cf3c69a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Finds the cos, from angles in degrees.  <a href="#ga953ffdd0b569b33cbfd5a8f69cf3c69a">More...</a><br /></td></tr>
<tr class="separator:ga953ffdd0b569b33cbfd5a8f69cf3c69a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8ba5702dba30a0c26b27b86c91550a95"><td class="memItemLeft" align="right" valign="top">static double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__easy.html#ga8ba5702dba30a0c26b27b86c91550a95">ArMath::degToRad</a> (double deg)</td></tr>
<tr class="memdesc:ga8ba5702dba30a0c26b27b86c91550a95"><td class="mdescLeft">&#160;</td><td class="mdescRight">Converts an angle in degrees to an angle in radians.  <a href="#ga8ba5702dba30a0c26b27b86c91550a95">More...</a><br /></td></tr>
<tr class="separator:ga8ba5702dba30a0c26b27b86c91550a95"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga834f25d63f93cd8a2f83cbbdb902b36d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__easy.html#ga834f25d63f93cd8a2f83cbbdb902b36d">ArRobot::disableMotors</a> ()</td></tr>
<tr class="memdesc:ga834f25d63f93cd8a2f83cbbdb902b36d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Disables the motors on the robot.  <a href="#ga834f25d63f93cd8a2f83cbbdb902b36d">More...</a><br /></td></tr>
<tr class="separator:ga834f25d63f93cd8a2f83cbbdb902b36d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1ece2f034d28b16bbc864d3379430b97"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__easy.html#ga1ece2f034d28b16bbc864d3379430b97">ArRobot::disableSonar</a> ()</td></tr>
<tr class="memdesc:ga1ece2f034d28b16bbc864d3379430b97"><td class="mdescLeft">&#160;</td><td class="mdescRight">Disables the sonar on the robot.  <a href="#ga1ece2f034d28b16bbc864d3379430b97">More...</a><br /></td></tr>
<tr class="separator:ga1ece2f034d28b16bbc864d3379430b97"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga039288e2f8735206972f51b99ac9f281"><td class="memItemLeft" align="right" valign="top">static double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__easy.html#ga039288e2f8735206972f51b99ac9f281">ArMath::distanceBetween</a> (double x1, double y1, double x2, double y2)</td></tr>
<tr class="memdesc:ga039288e2f8735206972f51b99ac9f281"><td class="mdescLeft">&#160;</td><td class="mdescRight">Finds the distance between two coordinates.  <a href="#ga039288e2f8735206972f51b99ac9f281">More...</a><br /></td></tr>
<tr class="separator:ga039288e2f8735206972f51b99ac9f281"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa3657bebab0086dd14ed0c8c3f76dc8b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__easy.html#gaa3657bebab0086dd14ed0c8c3f76dc8b">ArRobot::enableMotors</a> ()</td></tr>
<tr class="memdesc:gaa3657bebab0086dd14ed0c8c3f76dc8b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables the motors on the robot.  <a href="#gaa3657bebab0086dd14ed0c8c3f76dc8b">More...</a><br /></td></tr>
<tr class="separator:gaa3657bebab0086dd14ed0c8c3f76dc8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadc8434bd495c10f0200e16c811347fcb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__easy.html#gadc8434bd495c10f0200e16c811347fcb">ArRobot::enableSonar</a> ()</td></tr>
<tr class="memdesc:gadc8434bd495c10f0200e16c811347fcb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables the sonar on the robot.  <a href="#gadc8434bd495c10f0200e16c811347fcb">More...</a><br /></td></tr>
<tr class="separator:gadc8434bd495c10f0200e16c811347fcb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab8cf284a0149394bf8735c35f71a6138"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gab8cf284a0149394bf8735c35f71a6138"></a>
double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__easy.html#gab8cf284a0149394bf8735c35f71a6138">ArRobot::findAngleTo</a> (const <a class="el" href="classArPose.html">ArPose</a> pose)</td></tr>
<tr class="memdesc:gab8cf284a0149394bf8735c35f71a6138"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the angle to a point from the robot's current position and orientation. <br /></td></tr>
<tr class="separator:gab8cf284a0149394bf8735c35f71a6138"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0092f3289d46d70211fd42e88bf13af3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga0092f3289d46d70211fd42e88bf13af3"></a>
double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__easy.html#ga0092f3289d46d70211fd42e88bf13af3">ArRobot::findDeltaHeadingTo</a> (const <a class="el" href="classArPose.html">ArPose</a> pose)</td></tr>
<tr class="memdesc:ga0092f3289d46d70211fd42e88bf13af3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the difference between the angle to a point from the robot's current heading. <br /></td></tr>
<tr class="separator:ga0092f3289d46d70211fd42e88bf13af3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae933c1570c1a267632a8ca8db112195a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gae933c1570c1a267632a8ca8db112195a"></a>
double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__easy.html#gae933c1570c1a267632a8ca8db112195a">ArRobot::findDistanceTo</a> (const <a class="el" href="classArPose.html">ArPose</a> pose)</td></tr>
<tr class="memdesc:gae933c1570c1a267632a8ca8db112195a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the distance to a point from the robot's current position. <br /></td></tr>
<tr class="separator:gae933c1570c1a267632a8ca8db112195a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7fc7330b06db74f4425fd4e0c3beff09"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga7fc7330b06db74f4425fd4e0c3beff09"></a>
static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__easy.html#ga7fc7330b06db74f4425fd4e0c3beff09">ArUtil::findMax</a> (int first, int second)</td></tr>
<tr class="memdesc:ga7fc7330b06db74f4425fd4e0c3beff09"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the maximum of the two values. <br /></td></tr>
<tr class="separator:ga7fc7330b06db74f4425fd4e0c3beff09"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad6ef4d90b07063cf2e6cc725ae73d4c3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gad6ef4d90b07063cf2e6cc725ae73d4c3"></a>
static double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__easy.html#gad6ef4d90b07063cf2e6cc725ae73d4c3">ArUtil::findMax</a> (double first, double second)</td></tr>
<tr class="memdesc:gad6ef4d90b07063cf2e6cc725ae73d4c3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the maximum of the two values. <br /></td></tr>
<tr class="separator:gad6ef4d90b07063cf2e6cc725ae73d4c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab185c9fb51fceba5736524d60870a3b3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gab185c9fb51fceba5736524d60870a3b3"></a>
static unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__easy.html#gab185c9fb51fceba5736524d60870a3b3">ArUtil::findMaxU</a> (unsigned int first, unsigned int second)</td></tr>
<tr class="memdesc:gab185c9fb51fceba5736524d60870a3b3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the maximum of the two values. <br /></td></tr>
<tr class="separator:gab185c9fb51fceba5736524d60870a3b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae56731db94fa119a2ec98ae3e1be29a5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gae56731db94fa119a2ec98ae3e1be29a5"></a>
static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__easy.html#gae56731db94fa119a2ec98ae3e1be29a5">ArUtil::findMin</a> (int first, int second)</td></tr>
<tr class="memdesc:gae56731db94fa119a2ec98ae3e1be29a5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the minimum of the two values. <br /></td></tr>
<tr class="separator:gae56731db94fa119a2ec98ae3e1be29a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa40c308bbd855f066a500a5f2761f254"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaa40c308bbd855f066a500a5f2761f254"></a>
static double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__easy.html#gaa40c308bbd855f066a500a5f2761f254">ArUtil::findMin</a> (double first, double second)</td></tr>
<tr class="memdesc:gaa40c308bbd855f066a500a5f2761f254"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the minimum of the two values. <br /></td></tr>
<tr class="separator:gaa40c308bbd855f066a500a5f2761f254"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4b9123b4fa602266d5415c3e6a53983d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga4b9123b4fa602266d5415c3e6a53983d"></a>
static unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__easy.html#ga4b9123b4fa602266d5415c3e6a53983d">ArUtil::findMinU</a> (unsigned int first, unsigned int second)</td></tr>
<tr class="memdesc:ga4b9123b4fa602266d5415c3e6a53983d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the minimum of the two values. <br /></td></tr>
<tr class="separator:ga4b9123b4fa602266d5415c3e6a53983d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga56e81d05c4a713bcc04b0c620b787d50"><td class="memItemLeft" align="right" valign="top">static double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__easy.html#ga56e81d05c4a713bcc04b0c620b787d50">ArMath::fixAngle</a> (double angle)</td></tr>
<tr class="memdesc:ga56e81d05c4a713bcc04b0c620b787d50"><td class="mdescLeft">&#160;</td><td class="mdescRight">Takes an angle and returns the angle in range (-180,180].  <a href="#ga56e81d05c4a713bcc04b0c620b787d50">More...</a><br /></td></tr>
<tr class="separator:ga56e81d05c4a713bcc04b0c620b787d50"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga30d3f70890eee08e172b21aace11ad39"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga30d3f70890eee08e172b21aace11ad39"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__easy.html#ga30d3f70890eee08e172b21aace11ad39">ArRobot::getClosestSonarNumber</a> (double startAngle, double endAngle) const </td></tr>
<tr class="memdesc:ga30d3f70890eee08e172b21aace11ad39"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the number of the sonar that has the closest current reading in the given range. <br /></td></tr>
<tr class="separator:ga30d3f70890eee08e172b21aace11ad39"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5a1512a405e305ff4a7ebd47e22b9fbb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga5a1512a405e305ff4a7ebd47e22b9fbb"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__easy.html#ga5a1512a405e305ff4a7ebd47e22b9fbb">ArRobot::getClosestSonarRange</a> (double startAngle, double endAngle) const </td></tr>
<tr class="memdesc:ga5a1512a405e305ff4a7ebd47e22b9fbb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the closest of the current sonar reading in the given range. <br /></td></tr>
<tr class="separator:ga5a1512a405e305ff4a7ebd47e22b9fbb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae417de0a49281c6fcaec4a5092b87382"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gae417de0a49281c6fcaec4a5092b87382"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__easy.html#gae417de0a49281c6fcaec4a5092b87382">ArRobot::getNumSonar</a> (void) const </td></tr>
<tr class="memdesc:gae417de0a49281c6fcaec4a5092b87382"><td class="mdescLeft">&#160;</td><td class="mdescRight">Find the number of sonar sensors (that the robot has yet returned values for) <br /></td></tr>
<tr class="separator:gae417de0a49281c6fcaec4a5092b87382"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga25c215578baa598a8916947bdf6e1285"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classArPose.html">ArPose</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__easy.html#ga25c215578baa598a8916947bdf6e1285">ArRobot::getPose</a> (void) const </td></tr>
<tr class="memdesc:ga25c215578baa598a8916947bdf6e1285"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the current stored global position of the robot.  <a href="#ga25c215578baa598a8916947bdf6e1285">More...</a><br /></td></tr>
<tr class="separator:ga25c215578baa598a8916947bdf6e1285"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa0e1c24c9714c4d089bbbc3ddc755f0b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaa0e1c24c9714c4d089bbbc3ddc755f0b"></a>
double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__easy.html#gaa0e1c24c9714c4d089bbbc3ddc755f0b">ArRobot::getRobotLength</a> (void) const </td></tr>
<tr class="memdesc:gaa0e1c24c9714c4d089bbbc3ddc755f0b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the robot length (in mm) <br /></td></tr>
<tr class="separator:gaa0e1c24c9714c4d089bbbc3ddc755f0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf046fe8e8e70911d2f4871b945a9d738"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaf046fe8e8e70911d2f4871b945a9d738"></a>
double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__easy.html#gaf046fe8e8e70911d2f4871b945a9d738">ArRobot::getRobotRadius</a> (void) const </td></tr>
<tr class="memdesc:gaf046fe8e8e70911d2f4871b945a9d738"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the robot radius (in mm) <br /></td></tr>
<tr class="separator:gaf046fe8e8e70911d2f4871b945a9d738"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf49fc54179b7ff3139aaf7f62e9f003b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaf49fc54179b7ff3139aaf7f62e9f003b"></a>
double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__easy.html#gaf49fc54179b7ff3139aaf7f62e9f003b">ArRobot::getRobotWidth</a> (void) const </td></tr>
<tr class="memdesc:gaf49fc54179b7ff3139aaf7f62e9f003b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the robot width (in mm) <br /></td></tr>
<tr class="separator:gaf49fc54179b7ff3139aaf7f62e9f003b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac2abfcd681cccdc2cf091d2901f0ba5b"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__easy.html#gac2abfcd681cccdc2cf091d2901f0ba5b">ArRobot::getRotVel</a> (void) const </td></tr>
<tr class="memdesc:gac2abfcd681cccdc2cf091d2901f0ba5b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the current rotational velocity of the robot.  <a href="#gac2abfcd681cccdc2cf091d2901f0ba5b">More...</a><br /></td></tr>
<tr class="separator:gac2abfcd681cccdc2cf091d2901f0ba5b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabde522dc0c3d3b0057f59ee66e016dda"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__easy.html#gabde522dc0c3d3b0057f59ee66e016dda">ArRobot::getSonarRange</a> (int num) const </td></tr>
<tr class="memdesc:gabde522dc0c3d3b0057f59ee66e016dda"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the range of the last sonar reading for the given sonar.  <a href="#gabde522dc0c3d3b0057f59ee66e016dda">More...</a><br /></td></tr>
<tr class="separator:gabde522dc0c3d3b0057f59ee66e016dda"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaaecbf0186c6fee1ca750723358a8a6ca"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classArSensorReading.html">ArSensorReading</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__easy.html#gaaecbf0186c6fee1ca750723358a8a6ca">ArRobot::getSonarReading</a> (int num) const </td></tr>
<tr class="memdesc:gaaecbf0186c6fee1ca750723358a8a6ca"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the sonar reading for the given sonar.  <a href="#gaaecbf0186c6fee1ca750723358a8a6ca">More...</a><br /></td></tr>
<tr class="separator:gaaecbf0186c6fee1ca750723358a8a6ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaefe932449c50da9ca0f8084cd9639583"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__easy.html#gaefe932449c50da9ca0f8084cd9639583">ArRobot::getTh</a> (void) const </td></tr>
<tr class="memdesc:gaefe932449c50da9ca0f8084cd9639583"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the global angular position ("theta") of the robot.  <a href="#gaefe932449c50da9ca0f8084cd9639583">More...</a><br /></td></tr>
<tr class="separator:gaefe932449c50da9ca0f8084cd9639583"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad75dbd9aede7b7f57c9a38902b8aa1ce"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gad75dbd9aede7b7f57c9a38902b8aa1ce"></a>
double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__easy.html#gad75dbd9aede7b7f57c9a38902b8aa1ce">ArRobot::getVel</a> (void) const </td></tr>
<tr class="memdesc:gad75dbd9aede7b7f57c9a38902b8aa1ce"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the current translational velocity of the robot. <br /></td></tr>
<tr class="separator:gad75dbd9aede7b7f57c9a38902b8aa1ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4c994926aaefc4c86380f1a74e508a76"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__easy.html#ga4c994926aaefc4c86380f1a74e508a76">ArRobot::getX</a> (void) const </td></tr>
<tr class="memdesc:ga4c994926aaefc4c86380f1a74e508a76"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the global X position of the robot.  <a href="#ga4c994926aaefc4c86380f1a74e508a76">More...</a><br /></td></tr>
<tr class="separator:ga4c994926aaefc4c86380f1a74e508a76"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9164db66102fdf9d422feefdadffca92"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__easy.html#ga9164db66102fdf9d422feefdadffca92">ArRobot::getY</a> (void) const </td></tr>
<tr class="memdesc:ga9164db66102fdf9d422feefdadffca92"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the global Y position of the robot.  <a href="#ga9164db66102fdf9d422feefdadffca92">More...</a><br /></td></tr>
<tr class="separator:ga9164db66102fdf9d422feefdadffca92"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac6df7ba808b20b5c50badca67cd4e97c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gac6df7ba808b20b5c50badca67cd4e97c"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__easy.html#gac6df7ba808b20b5c50badca67cd4e97c">ArTime::isAfter</a> (<a class="el" href="classArTime.html">ArTime</a> testTime) const </td></tr>
<tr class="memdesc:gac6df7ba808b20b5c50badca67cd4e97c"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns whether the given time is after this one or not <br /></td></tr>
<tr class="separator:gac6df7ba808b20b5c50badca67cd4e97c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9cd60449c10e098341a9f9366d5f86ef"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga9cd60449c10e098341a9f9366d5f86ef"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__easy.html#ga9cd60449c10e098341a9f9366d5f86ef">ArTime::isBefore</a> (<a class="el" href="classArTime.html">ArTime</a> testTime) const </td></tr>
<tr class="memdesc:ga9cd60449c10e098341a9f9366d5f86ef"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns whether the given time is before this one or not <br /></td></tr>
<tr class="separator:ga9cd60449c10e098341a9f9366d5f86ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga98b5d608fb9f33aec47a3fe1995dc5b6"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__easy.html#ga98b5d608fb9f33aec47a3fe1995dc5b6">ArRobot::isConnected</a> (void) const </td></tr>
<tr class="memdesc:ga98b5d608fb9f33aec47a3fe1995dc5b6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Questions whether the robot is connected or not.  <a href="#ga98b5d608fb9f33aec47a3fe1995dc5b6">More...</a><br /></td></tr>
<tr class="separator:ga98b5d608fb9f33aec47a3fe1995dc5b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga189ad51451c91c3c5b9a67a5c33b7b4d"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__easy.html#ga189ad51451c91c3c5b9a67a5c33b7b4d">ArRobot::isHeadingDone</a> (double delta=0.0) const </td></tr>
<tr class="memdesc:ga189ad51451c91c3c5b9a67a5c33b7b4d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sees if the robot is done changing to the previously given setHeading.  <a href="#ga189ad51451c91c3c5b9a67a5c33b7b4d">More...</a><br /></td></tr>
<tr class="separator:ga189ad51451c91c3c5b9a67a5c33b7b4d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab74884fb32bdc6e006b556f131343880"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__easy.html#gab74884fb32bdc6e006b556f131343880">ArRobot::isMoveDone</a> (double delta=0.0)</td></tr>
<tr class="memdesc:gab74884fb32bdc6e006b556f131343880"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sees if the robot is done moving the previously given move.  <a href="#gab74884fb32bdc6e006b556f131343880">More...</a><br /></td></tr>
<tr class="separator:gab74884fb32bdc6e006b556f131343880"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga808f67ab5b35165c2605b3002df4b499"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__easy.html#ga808f67ab5b35165c2605b3002df4b499">ArRobot::isRunning</a> (void) const </td></tr>
<tr class="memdesc:ga808f67ab5b35165c2605b3002df4b499"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns whether the robot is currently running or not.  <a href="#ga808f67ab5b35165c2605b3002df4b499">More...</a><br /></td></tr>
<tr class="separator:ga808f67ab5b35165c2605b3002df4b499"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1902afde7e420f1db7de2caa4966751a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga1902afde7e420f1db7de2caa4966751a"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__easy.html#ga1902afde7e420f1db7de2caa4966751a">ArRobot::isStopped</a> (double stoppedVel=0.0, double stoppedRotVel=0.0, double stoppedLatVel=0.0)</td></tr>
<tr class="memdesc:ga1902afde7e420f1db7de2caa4966751a"><td class="mdescLeft">&#160;</td><td class="mdescRight">sees if we're stopped <br /></td></tr>
<tr class="separator:ga1902afde7e420f1db7de2caa4966751a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaeb5db5d20c1794795ec0d141ac305aa1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaeb5db5d20c1794795ec0d141ac305aa1"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__easy.html#gaeb5db5d20c1794795ec0d141ac305aa1">ArTime::log</a> (const char *prefix=NULL) const </td></tr>
<tr class="memdesc:gaeb5db5d20c1794795ec0d141ac305aa1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Logs the time. <br /></td></tr>
<tr class="separator:gaeb5db5d20c1794795ec0d141ac305aa1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7052d7939d765fd189e1a30eb54fa2e5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga7052d7939d765fd189e1a30eb54fa2e5"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__easy.html#ga7052d7939d765fd189e1a30eb54fa2e5">ArRobot::logActions</a> (bool logDeactivated=false) const </td></tr>
<tr class="memdesc:ga7052d7939d765fd189e1a30eb54fa2e5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Logs out the actions and their priorities. <br /></td></tr>
<tr class="separator:ga7052d7939d765fd189e1a30eb54fa2e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga09016d00e1f3ac9a502344d9e2cd548e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__easy.html#ga09016d00e1f3ac9a502344d9e2cd548e">ArRobot::move</a> (double distance)</td></tr>
<tr class="memdesc:ga09016d00e1f3ac9a502344d9e2cd548e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Move the given distance forward/backwards.  <a href="#ga09016d00e1f3ac9a502344d9e2cd548e">More...</a><br /></td></tr>
<tr class="separator:ga09016d00e1f3ac9a502344d9e2cd548e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabfac503dbf12dac57c8dc133d0b034a1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gabfac503dbf12dac57c8dc133d0b034a1"></a>
long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__easy.html#gabfac503dbf12dac57c8dc133d0b034a1">ArTime::mSecSince</a> (<a class="el" href="classArTime.html">ArTime</a> since) const </td></tr>
<tr class="memdesc:gabfac503dbf12dac57c8dc133d0b034a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the number of milliseconds since the given timestamp to this one. <br /></td></tr>
<tr class="separator:gabfac503dbf12dac57c8dc133d0b034a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0b2cfe4da4202d614d3278e298ffe01d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga0b2cfe4da4202d614d3278e298ffe01d"></a>
long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__easy.html#ga0b2cfe4da4202d614d3278e298ffe01d">ArTime::mSecTo</a> (void) const </td></tr>
<tr class="memdesc:ga0b2cfe4da4202d614d3278e298ffe01d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Finds the number of millisecs from when this timestamp is set to to now (the inverse of <a class="el" href="classArTime.html#a6027e24409f986ca10664a583071c294" title="Finds the number of milliseconds from this timestamp to now. ">mSecSince()</a>) <br /></td></tr>
<tr class="separator:ga0b2cfe4da4202d614d3278e298ffe01d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab701e5db82e7416a9c43c88b808c9db1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gab701e5db82e7416a9c43c88b808c9db1"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>ArTime::operator&lt;</b> (const <a class="el" href="classArTime.html">ArTime</a> &amp;other) const </td></tr>
<tr class="separator:gab701e5db82e7416a9c43c88b808c9db1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7c05e9a80bd37e14c6dd6c1d494d9345"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga7c05e9a80bd37e14c6dd6c1d494d9345"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>ArTime::operator&gt;</b> (const <a class="el" href="classArTime.html">ArTime</a> &amp;other) const </td></tr>
<tr class="separator:ga7c05e9a80bd37e14c6dd6c1d494d9345"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6301ec48137480318f9c2c8e06ab3b09"><td class="memItemLeft" align="right" valign="top">static double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__easy.html#ga6301ec48137480318f9c2c8e06ab3b09">ArMath::radToDeg</a> (double rad)</td></tr>
<tr class="memdesc:ga6301ec48137480318f9c2c8e06ab3b09"><td class="mdescLeft">&#160;</td><td class="mdescRight">Converts an angle in radians to an angle in degrees.  <a href="#ga6301ec48137480318f9c2c8e06ab3b09">More...</a><br /></td></tr>
<tr class="separator:ga6301ec48137480318f9c2c8e06ab3b09"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4ef94ed579aafcf73419b20ecc7a7138"><td class="memItemLeft" align="right" valign="top">static long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__easy.html#ga4ef94ed579aafcf73419b20ecc7a7138">ArMath::randomInRange</a> (long m, long n)</td></tr>
<tr class="memdesc:ga4ef94ed579aafcf73419b20ecc7a7138"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a random number between <em>m</em> and <em>n</em>.  <a href="#ga4ef94ed579aafcf73419b20ecc7a7138">More...</a><br /></td></tr>
<tr class="separator:ga4ef94ed579aafcf73419b20ecc7a7138"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac6e11dce7c909cb2b148f0abb0993982"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__easy.html#gac6e11dce7c909cb2b148f0abb0993982">ArRobot::remAction</a> (<a class="el" href="classArAction.html">ArAction</a> *action)</td></tr>
<tr class="memdesc:gac6e11dce7c909cb2b148f0abb0993982"><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes an action from the list, by pointer.  <a href="#gac6e11dce7c909cb2b148f0abb0993982">More...</a><br /></td></tr>
<tr class="separator:gac6e11dce7c909cb2b148f0abb0993982"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga38a1196e4c6af08645ad785fbc0d3bea"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__easy.html#ga38a1196e4c6af08645ad785fbc0d3bea">ArRobot::remAction</a> (const char *actionName)</td></tr>
<tr class="memdesc:ga38a1196e4c6af08645ad785fbc0d3bea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes an action from the list, by name.  <a href="#ga38a1196e4c6af08645ad785fbc0d3bea">More...</a><br /></td></tr>
<tr class="separator:ga38a1196e4c6af08645ad785fbc0d3bea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaaade8cc11da585cbdcec45f6c8fbe4a6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__easy.html#gaaade8cc11da585cbdcec45f6c8fbe4a6">ArRobot::run</a> ()</td></tr>
<tr class="memdesc:gaaade8cc11da585cbdcec45f6c8fbe4a6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Starts the instance to do processing in this thread.  <a href="#gaaade8cc11da585cbdcec45f6c8fbe4a6">More...</a><br /></td></tr>
<tr class="separator:gaaade8cc11da585cbdcec45f6c8fbe4a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac4425ceba89af5001dec83246190273a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__easy.html#gac4425ceba89af5001dec83246190273a">ArRobot::runAsync</a> ()</td></tr>
<tr class="memdesc:gac4425ceba89af5001dec83246190273a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Starts the instance to do processing in its own new thread.  <a href="#gac4425ceba89af5001dec83246190273a">More...</a><br /></td></tr>
<tr class="separator:gac4425ceba89af5001dec83246190273a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5385636d566c665eb9d722af6f65aef5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga5385636d566c665eb9d722af6f65aef5"></a>
long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__easy.html#ga5385636d566c665eb9d722af6f65aef5">ArTime::secSince</a> (<a class="el" href="classArTime.html">ArTime</a> since) const </td></tr>
<tr class="memdesc:ga5385636d566c665eb9d722af6f65aef5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the number of seconds since the given timestamp to this one. <br /></td></tr>
<tr class="separator:ga5385636d566c665eb9d722af6f65aef5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2cd20dd8a4845a5f50b55f16de1c4501"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga2cd20dd8a4845a5f50b55f16de1c4501"></a>
long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__easy.html#ga2cd20dd8a4845a5f50b55f16de1c4501">ArTime::secTo</a> (void) const </td></tr>
<tr class="memdesc:ga2cd20dd8a4845a5f50b55f16de1c4501"><td class="mdescLeft">&#160;</td><td class="mdescRight">Finds the number of seconds from when this timestamp is set to to now (the inverse of <a class="el" href="classArTime.html#ad2cc73991a4fbc0d5602232119bef0fe" title="Finds the number of seconds from when this timestamp was set to now. ">secSince()</a>) <br /></td></tr>
<tr class="separator:ga2cd20dd8a4845a5f50b55f16de1c4501"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga033038331dbe4cbaabad2d0bc67653f0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__easy.html#ga033038331dbe4cbaabad2d0bc67653f0">ArRobot::setDeltaHeading</a> (double deltaHeading)</td></tr>
<tr class="memdesc:ga033038331dbe4cbaabad2d0bc67653f0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the delta heading.  <a href="#ga033038331dbe4cbaabad2d0bc67653f0">More...</a><br /></td></tr>
<tr class="separator:ga033038331dbe4cbaabad2d0bc67653f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafbbe47b4351cc9baf2559d188803ee72"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__easy.html#gafbbe47b4351cc9baf2559d188803ee72">ArRobot::setHeading</a> (double heading)</td></tr>
<tr class="memdesc:gafbbe47b4351cc9baf2559d188803ee72"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the heading.  <a href="#gafbbe47b4351cc9baf2559d188803ee72">More...</a><br /></td></tr>
<tr class="separator:gafbbe47b4351cc9baf2559d188803ee72"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga613157de1936d0c34ed73e32787ae661"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__easy.html#ga613157de1936d0c34ed73e32787ae661">ArRobot::setRotVel</a> (double velocity)</td></tr>
<tr class="memdesc:ga613157de1936d0c34ed73e32787ae661"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the rotational velocity.  <a href="#ga613157de1936d0c34ed73e32787ae661">More...</a><br /></td></tr>
<tr class="separator:ga613157de1936d0c34ed73e32787ae661"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7c269e161c8e7cb56bde73dea501a619"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga7c269e161c8e7cb56bde73dea501a619"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__easy.html#ga7c269e161c8e7cb56bde73dea501a619">ArTime::setToNow</a> (void)</td></tr>
<tr class="memdesc:ga7c269e161c8e7cb56bde73dea501a619"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resets the time. <br /></td></tr>
<tr class="separator:ga7c269e161c8e7cb56bde73dea501a619"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac4c369f0f8d8a41f2b3f2290bdcbb03c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__easy.html#gac4c369f0f8d8a41f2b3f2290bdcbb03c">ArRobot::setVel</a> (double velocity)</td></tr>
<tr class="memdesc:gac4c369f0f8d8a41f2b3f2290bdcbb03c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the velocity.  <a href="#gac4c369f0f8d8a41f2b3f2290bdcbb03c">More...</a><br /></td></tr>
<tr class="separator:gac4c369f0f8d8a41f2b3f2290bdcbb03c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaeb05754b7747988dd97a961eaded6830"><td class="memItemLeft" align="right" valign="top">static double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__easy.html#gaeb05754b7747988dd97a961eaded6830">ArMath::sin</a> (double angle)</td></tr>
<tr class="memdesc:gaeb05754b7747988dd97a961eaded6830"><td class="mdescLeft">&#160;</td><td class="mdescRight">Finds the sin, from angles in degrees.  <a href="#gaeb05754b7747988dd97a961eaded6830">More...</a><br /></td></tr>
<tr class="separator:gaeb05754b7747988dd97a961eaded6830"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4dfb878a3f9123b8dd96ae05b2fd94cb"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__easy.html#ga4dfb878a3f9123b8dd96ae05b2fd94cb">ArUtil::sleep</a> (unsigned int ms)</td></tr>
<tr class="memdesc:ga4dfb878a3f9123b8dd96ae05b2fd94cb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sleep for the given number of milliseconds.  <a href="#ga4dfb878a3f9123b8dd96ae05b2fd94cb">More...</a><br /></td></tr>
<tr class="separator:ga4dfb878a3f9123b8dd96ae05b2fd94cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac354fe63f9e58b33343f38923f1588fd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__easy.html#gac354fe63f9e58b33343f38923f1588fd">ArRobot::stop</a> (void)</td></tr>
<tr class="memdesc:gac354fe63f9e58b33343f38923f1588fd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Stops the robot.  <a href="#gac354fe63f9e58b33343f38923f1588fd">More...</a><br /></td></tr>
<tr class="separator:gac354fe63f9e58b33343f38923f1588fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaff02cf7043c2e7239ec6b6e11ff6b146"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__easy.html#gaff02cf7043c2e7239ec6b6e11ff6b146">ArRobot::stopRunning</a> (bool doDisconnect=true)</td></tr>
<tr class="memdesc:gaff02cf7043c2e7239ec6b6e11ff6b146"><td class="mdescLeft">&#160;</td><td class="mdescRight">Stops the robot from doing any more processing.  <a href="#gaff02cf7043c2e7239ec6b6e11ff6b146">More...</a><br /></td></tr>
<tr class="separator:gaff02cf7043c2e7239ec6b6e11ff6b146"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaaddbe148df227cf5f85aff738379adbc"><td class="memItemLeft" align="right" valign="top">static double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__easy.html#gaaddbe148df227cf5f85aff738379adbc">ArMath::subAngle</a> (double ang1, double ang2)</td></tr>
<tr class="memdesc:gaaddbe148df227cf5f85aff738379adbc"><td class="mdescLeft">&#160;</td><td class="mdescRight">This subtracts one angle from another and fixes the result to [-180,180].  <a href="#gaaddbe148df227cf5f85aff738379adbc">More...</a><br /></td></tr>
<tr class="separator:gaaddbe148df227cf5f85aff738379adbc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaad297269fc57d48d6ee91e64f2917610"><td class="memItemLeft" align="right" valign="top">static double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__easy.html#gaad297269fc57d48d6ee91e64f2917610">ArMath::tan</a> (double angle)</td></tr>
<tr class="memdesc:gaad297269fc57d48d6ee91e64f2917610"><td class="mdescLeft">&#160;</td><td class="mdescRight">Finds the tan, from angles in degrees.  <a href="#gaad297269fc57d48d6ee91e64f2917610">More...</a><br /></td></tr>
<tr class="separator:gaad297269fc57d48d6ee91e64f2917610"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafb0d553568d1001318593afe634721c8"><td class="memItemLeft" align="right" valign="top">WaitState&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__easy.html#gafb0d553568d1001318593afe634721c8">ArRobot::waitForConnect</a> (unsigned int msecs=0)</td></tr>
<tr class="memdesc:gafb0d553568d1001318593afe634721c8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Suspend calling thread until the <a class="el" href="classArRobot.html" title="Central class for communicating with and operating the robot. ">ArRobot</a> is connected.  <a href="#gafb0d553568d1001318593afe634721c8">More...</a><br /></td></tr>
<tr class="separator:gafb0d553568d1001318593afe634721c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga95201be7c39b521983b51e6f5d9303e4"><td class="memItemLeft" align="right" valign="top">WaitState&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__easy.html#ga95201be7c39b521983b51e6f5d9303e4">ArRobot::waitForRunExit</a> (unsigned int msecs=0)</td></tr>
<tr class="memdesc:ga95201be7c39b521983b51e6f5d9303e4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Suspend calling thread until the <a class="el" href="classArRobot.html" title="Central class for communicating with and operating the robot. ">ArRobot</a> run loop has exited.  <a href="#ga95201be7c39b521983b51e6f5d9303e4">More...</a><br /></td></tr>
<tr class="separator:ga95201be7c39b521983b51e6f5d9303e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p>This category highlights a minimal, essential set of features to get started using ARIA as quickly as possible, especially when writing short programs or Python scripts to experiment and learn. </p>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="ga9ab030786d423237d3e4aa06c0e9d8ce"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ArRobot::addAction </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArAction.html">ArAction</a> *&#160;</td>
          <td class="paramname"><em>action</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>priority</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Adds an action to the list with the given priority. </p>
<p>Adds an action to the list of actions with the given priority.</p>
<p>In the case of two (or more) actions with the same priority, the default resolver (<a class="el" href="classArPriorityResolver.html" title="(Default resolver), takes the action list and uses the priority to resolve ">ArPriorityResolver</a>) averages the the multiple readings. The priority can be any integer, but as a convention 0 to 100 is used, with 100 being the highest priority. The default resolver (<a class="el" href="classArPriorityResolver.html" title="(Default resolver), takes the action list and uses the priority to resolve ">ArPriorityResolver</a>) resolves the actions in order of descending priority. For example, an action with priority 100 is evaluated before one with priority 99, followed by 50, etc. This means that an action with a higher priority may be able to supercede a lower-priority action's desired value for a certain output to a lesser or greater degree, depending on how high a "strength" value it sets. See the overview of ARIA in this reference manual for more discussion on Actions.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">action</td><td>the action to add </td></tr>
    <tr><td class="paramname">priority</td><td>what importance to give the action; how to order the actions. High priority actions are evaluated by the action resolvel before lower priority actions. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if the action was successfully added, false on error (e.g. the action was NULL) </dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__easy.html#gac6e11dce7c909cb2b148f0abb0993982" title="Removes an action from the list, by pointer. ">remAction(ArAction*)</a> </dd>
<dd>
<a class="el" href="group__easy.html#ga38a1196e4c6af08645ad785fbc0d3bea" title="Removes an action from the list, by name. ">remAction(const char*)</a> </dd>
<dd>
<a class="el" href="classArRobot.html#a932c6a28fda13518cdb6070b57786050" title="Returns the first (highest priority) action with the given name (or NULL) ">findAction(const char*)</a> </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="actionExample_8cpp-example.html#a24">actionExample.cpp</a>, <a class="el" href="actsColorFollowingExample_8cpp-example.html#a52">actsColorFollowingExample.cpp</a>, <a class="el" href="gotoActionExample_8cpp-example.html#a23">gotoActionExample.cpp</a>, <a class="el" href="gpsRobotTaskExample_8cpp-example.html#a30">gpsRobotTaskExample.cpp</a>, <a class="el" href="gripperExample_8cpp-example.html#a33">gripperExample.cpp</a>, <a class="el" href="gyroExample_8cpp-example.html#a34">gyroExample.cpp</a>, <a class="el" href="joydriveActionExample_8cpp-example.html#a27">joydriveActionExample.cpp</a>, <a class="el" href="teleopActionsExample_8cpp-example.html#a23">teleopActionsExample.cpp</a>, <a class="el" href="triangleDriveToActionExample_8cpp-example.html#a22">triangleDriveToActionExample.cpp</a>, <a class="el" href="twoRobotWander_8cpp-example.html#a24">twoRobotWander.cpp</a>, and <a class="el" href="wander_8cpp-example.html#a28">wander.cpp</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga1f04eeb3c55892aef6fc179f48eaba18"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static double ArMath::addAngle </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>ang1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>ang2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>This adds two angles together and fixes the result to [-180, 180]. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ang1</td><td>first angle </td></tr>
    <tr><td class="paramname">ang2</td><td>second angle, added to first </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>sum of the angles, in range [-180,180] </dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__easy.html#gaaddbe148df227cf5f85aff738379adbc" title="This subtracts one angle from another and fixes the result to [-180,180]. ">subAngle</a> </dd>
<dd>
<a class="el" href="group__easy.html#ga56e81d05c4a713bcc04b0c620b787d50" title="Takes an angle and returns the angle in range (-180,180]. ">fixAngle</a> </dd></dl>

</div>
</div>
<a class="anchor" id="gad21b5077d7f093e1dab8b95ca0610fc5"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">ArTime::ArTime </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Constructor. </p>
<p>Time is initialized to the current time. </p>

</div>
</div>
<a class="anchor" id="gadd5c8cde271a71c44bbfa0b6376ba1ec"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static double ArMath::atan2 </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>x</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Finds the arctan of the given y/x pair. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">y</td><td>the y distance </td></tr>
    <tr><td class="paramname">x</td><td>the x distance </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the angle y and x form </dd></dl>

</div>
</div>
<a class="anchor" id="ga953ffdd0b569b33cbfd5a8f69cf3c69a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static double ArMath::cos </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>angle</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Finds the cos, from angles in degrees. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">angle</td><td>angle to find the cos of, in degrees </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the cos of the angle </dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__easy.html#gaeb05754b7747988dd97a961eaded6830" title="Finds the sin, from angles in degrees. ">sin</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ga8ba5702dba30a0c26b27b86c91550a95"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static double ArMath::degToRad </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>deg</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Converts an angle in degrees to an angle in radians. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">deg</td><td>the angle in degrees </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the angle in radians </dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__easy.html#ga6301ec48137480318f9c2c8e06ab3b09" title="Converts an angle in radians to an angle in degrees. ">radToDeg</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ga834f25d63f93cd8a2f83cbbdb902b36d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArRobot::disableMotors </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Disables the motors on the robot. </p>
<p>This command disables the motors on the robot, if it is connected. </p>

</div>
</div>
<a class="anchor" id="ga1ece2f034d28b16bbc864d3379430b97"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArRobot::disableSonar </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Disables the sonar on the robot. </p>
<p>This command disables the sonars on the robot, if it is connected. </p>

</div>
</div>
<a class="anchor" id="ga039288e2f8735206972f51b99ac9f281"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static double ArMath::distanceBetween </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>x1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>y1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>x2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>y2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Finds the distance between two coordinates. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">x1</td><td>the first coords x position </td></tr>
    <tr><td class="paramname">y1</td><td>the first coords y position </td></tr>
    <tr><td class="paramname">x2</td><td>the second coords x position </td></tr>
    <tr><td class="paramname">y2</td><td>the second coords y position </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the distance between (x1, y1) and (x2, y2) </dd></dl>

</div>
</div>
<a class="anchor" id="gaa3657bebab0086dd14ed0c8c3f76dc8b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArRobot::enableMotors </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Enables the motors on the robot. </p>
<p>This command enables the motors on the robot, if it is connected. </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="actionExample_8cpp-example.html#a25">actionExample.cpp</a>, <a class="el" href="actionGroupExample_8cpp-example.html#a35">actionGroupExample.cpp</a>, <a class="el" href="gotoActionExample_8cpp-example.html#a26">gotoActionExample.cpp</a>, <a class="el" href="gpsRobotTaskExample_8cpp-example.html#a33">gpsRobotTaskExample.cpp</a>, <a class="el" href="gripperExample_8cpp-example.html#a39">gripperExample.cpp</a>, <a class="el" href="simpleConnect_8cpp-example.html#a13">simpleConnect.cpp</a>, <a class="el" href="simpleMotionCommands_8cpp-example.html#a23">simpleMotionCommands.cpp</a>, <a class="el" href="teleopActionsExample_8cpp-example.html#a22">teleopActionsExample.cpp</a>, and <a class="el" href="wander_8cpp-example.html#a21">wander.cpp</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="gadc8434bd495c10f0200e16c811347fcb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArRobot::enableSonar </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Enables the sonar on the robot. </p>
<p>This command enables the sonars on the robot, if it is connected. </p>

</div>
</div>
<a class="anchor" id="ga56e81d05c4a713bcc04b0c620b787d50"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static double ArMath::fixAngle </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>angle</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Takes an angle and returns the angle in range (-180,180]. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">angle</td><td>the angle to fix </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the angle in range (-180,180] </dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__easy.html#ga1f04eeb3c55892aef6fc179f48eaba18" title="This adds two angles together and fixes the result to [-180, 180]. ">addAngle</a> </dd>
<dd>
<a class="el" href="group__easy.html#gaaddbe148df227cf5f85aff738379adbc" title="This subtracts one angle from another and fixes the result to [-180,180]. ">subAngle</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ga25c215578baa598a8916947bdf6e1285"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classArPose.html">ArPose</a> ArRobot::getPose </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get the current stored global position of the robot. </p>
<p>This position is updated by data reported by the robot as it moves, and may also be changed by other program components, such as a localization process (see <a class="el" href="classArRobot.html#a8acb66f0b97e77c94adf56afdc86ffa0" title="Change stored pose (i.e. the value returned by getPose()) ">moveTo()</a>).</p>
<p>This position is also referred to as the robot's "odometry" or "odometric" pose, since the robot uses its odometry data to determine this pose; but it may also incorporate additional data sources such as an onboard gyro. The term "odometric pose" also distinguishes this position by the fact that its coordinate system may be arbitrary, and seperate from any external coordinate system.</p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classArRobot.html#a6299aaf435ca151f9b15a8cb5bfa9ad3" title="Get the position of the robot according to the last robot SIP, possibly with gyro correction if insta...">getEncoderPose()</a> </dd>
<dd>
<a class="el" href="classArRobot.html#a8acb66f0b97e77c94adf56afdc86ffa0" title="Change stored pose (i.e. the value returned by getPose()) ">moveTo()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="gac2abfcd681cccdc2cf091d2901f0ba5b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">double ArRobot::getRotVel </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets the current rotational velocity of the robot. </p>
<p>Note that with new firmware versions (ARCOS as of April 2006 or so) this is the velocity reported by the robot. With older firmware this number is calculated using the difference between the robot's reported wheel velocities multiplied by diffConvFactor from the .p (robot parameter) files. </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="simpleMotionCommands_8cpp-example.html#a19">simpleMotionCommands.cpp</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="gabde522dc0c3d3b0057f59ee66e016dda"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ArRobot::getSonarRange </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>num</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Gets the range of the last sonar reading for the given sonar. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">num</td><td>the sonar number to check, should be between 0 and the number of sonar, the function won't fail if a bad number is given, will just return -1 </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>-1 if the sonar has never returned a reading, otherwise the sonar range, which is the distance from the physical sonar disc to where the sonar bounced back </dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__easy.html#gae417de0a49281c6fcaec4a5092b87382" title="Find the number of sonar sensors (that the robot has yet returned values for) ">getNumSonar</a> </dd></dl>

</div>
</div>
<a class="anchor" id="gaaecbf0186c6fee1ca750723358a8a6ca"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classArSensorReading.html">ArSensorReading</a> * ArRobot::getSonarReading </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>num</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns the sonar reading for the given sonar. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">num</td><td>the sonar number to check, should be between 0 and the number of sonar, the function won't fail if a bad number is given, will just return false </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>NULL if there is no sonar defined for the given number, otherwise it returns a pointer to an instance of the <a class="el" href="classArSensorReading.html" title="Used to convert and store data from and/or about a range sensor. ">ArSensorReading</a>, note that this class retains ownership, so the instance pointed to should not be deleted and no pointers to it should be stored. Note that often there will be sonar defined but no readings for it (since the readings may be created by the parameter reader), if there has never been a reading from the sonar then the range of that sonar will be -1 and its counterTaken value will be 0 </dd></dl>

</div>
</div>
<a class="anchor" id="gaefe932449c50da9ca0f8084cd9639583"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">double ArRobot::getTh </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets the global angular position ("theta") of the robot. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__easy.html#ga25c215578baa598a8916947bdf6e1285" title="Get the current stored global position of the robot. ">getPose()</a> </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="joydriveActionExample_8cpp-example.html#a7">joydriveActionExample.cpp</a>, <a class="el" href="simpleConnect_8cpp-example.html#a21">simpleConnect.cpp</a>, and <a class="el" href="simpleMotionCommands_8cpp-example.html#a17">simpleMotionCommands.cpp</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga4c994926aaefc4c86380f1a74e508a76"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">double ArRobot::getX </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets the global X position of the robot. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__easy.html#ga25c215578baa598a8916947bdf6e1285" title="Get the current stored global position of the robot. ">getPose()</a> </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="joydriveActionExample_8cpp-example.html#a5">joydriveActionExample.cpp</a>, <a class="el" href="simpleConnect_8cpp-example.html#a19">simpleConnect.cpp</a>, and <a class="el" href="simpleMotionCommands_8cpp-example.html#a15">simpleMotionCommands.cpp</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga9164db66102fdf9d422feefdadffca92"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">double ArRobot::getY </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets the global Y position of the robot. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__easy.html#ga25c215578baa598a8916947bdf6e1285" title="Get the current stored global position of the robot. ">getPose()</a> </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="joydriveActionExample_8cpp-example.html#a6">joydriveActionExample.cpp</a>, <a class="el" href="simpleConnect_8cpp-example.html#a20">simpleConnect.cpp</a>, and <a class="el" href="simpleMotionCommands_8cpp-example.html#a16">simpleMotionCommands.cpp</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga98b5d608fb9f33aec47a3fe1995dc5b6"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArRobot::isConnected </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Questions whether the robot is connected or not. </p>
<dl class="section return"><dt>Returns</dt><dd>true if connected to a robot, false if not </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="demo_8cpp-example.html#a18">demo.cpp</a>, <a class="el" href="laserConnect_8cpp-example.html#a17">laserConnect.cpp</a>, and <a class="el" href="lasers_8cpp-example.html#a22">lasers.cpp</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga189ad51451c91c3c5b9a67a5c33b7b4d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ArRobot::isHeadingDone </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>delta</em> = <code>0.0</code></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sees if the robot is done changing to the previously given setHeading. </p>
<p>Determines if a <a class="el" href="group__easy.html#gafbbe47b4351cc9baf2559d188803ee72" title="Sets the heading. ">setHeading()</a> command is finished, to within a small distance.</p>
<p>If delta = 0 (default), the delta distance used is that which was set with <a class="el" href="classArRobot.html#ae9bb5f92e6b4c1caa4e5f9e49675c846" title="sets the difference required for being done with a heading change (e.g. used in isHeadingDone()) ...">setHeadingDoneDiff()</a> (you can get that distnace value with <a class="el" href="classArRobot.html#ae74f4034aa76d90b89814532f80827bd" title="Gets the difference required for being done with a heading change (e.g. used in isHeadingDone()) ...">getHeadingDoneDiff()</a>, the default is 3).</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">delta</td><td>how close to the goal distance the robot must be</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if the robot has achieved the heading given in a move command or if the robot is no longer in heading mode mode (because its now running off of actions, setDHeading(), or <a class="el" href="group__easy.html#ga613157de1936d0c34ed73e32787ae661" title="Sets the rotational velocity. ">setRotVel()</a> was called). </dd></dl>

</div>
</div>
<a class="anchor" id="gab74884fb32bdc6e006b556f131343880"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ArRobot::isMoveDone </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>delta</em> = <code>0.0</code></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sees if the robot is done moving the previously given move. </p>
<p>Determines if a move command is finished, to within a small distance threshold, "delta".</p>
<p>If delta = 0 (default), the delta distance set with <a class="el" href="classArRobot.html#ab3e59e695f25e6c2671a07e88aefd1cc" title="Sets the difference required for being done with a move. ">setMoveDoneDist()</a> will be used.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">delta</td><td>how close to the goal distance the robot must be, or 0 for previously set default</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if the robot has finished the distance given in a move command or if the robot is no longer in a move mode (because its now running off of actions, or <a class="el" href="group__easy.html#gac4c369f0f8d8a41f2b3f2290bdcbb03c" title="Sets the velocity. ">setVel()</a> or <a class="el" href="classArRobot.html#a887e87b779740ad024f65c6ef67394cc" title="Sets differential movement if implemented by robot. ">setVel2()</a> was called).</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classArRobot.html#ab3e59e695f25e6c2671a07e88aefd1cc" title="Sets the difference required for being done with a move. ">setMoveDoneDist</a> </dd>
<dd>
<a class="el" href="classArRobot.html#a2a7d0fbf1c8850564db096a17c140771" title="Gets the difference required for being done with a move. ">getMoveDoneDist</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ga808f67ab5b35165c2605b3002df4b499"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ArRobot::isRunning </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns whether the robot is currently running or not. </p>
<dl class="section return"><dt>Returns</dt><dd>true if the robot is currently running in a run or runAsync, otherwise false </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="twoRobotWander_8cpp-example.html#a26">twoRobotWander.cpp</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga09016d00e1f3ac9a502344d9e2cd548e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArRobot::move </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>distance</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Move the given distance forward/backwards. </p>
<p>Tells the robot to begin moving the specified distance forward/backwards.</p>
<p><a class="el" href="classArRobot.html" title="Central class for communicating with and operating the robot. ">ArRobot</a> caches this value, and sends it during the next cycle (with a MOVE or VEL command, depending on the robot).</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">distance</td><td>the distance for the robot to move (millimeters). Note, due to the implementation of the MOVE command on some robots, it is best to restrict the distance to the range (5000mm, 5000mm] if possible. Not all robots have this restriction, however. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga6301ec48137480318f9c2c8e06ab3b09"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static double ArMath::radToDeg </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>rad</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Converts an angle in radians to an angle in degrees. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">rad</td><td>the angle in radians </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the angle in degrees </dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__easy.html#ga8ba5702dba30a0c26b27b86c91550a95" title="Converts an angle in degrees to an angle in radians. ">degToRad</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ga4ef94ed579aafcf73419b20ecc7a7138"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">long ArMath::randomInRange </td>
          <td>(</td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>m</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>n</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns a random number between <em>m</em> and <em>n</em>. </p>
<p>On Windows, rand() is used, on Linux lrand48(). </p>

</div>
</div>
<a class="anchor" id="gac6e11dce7c909cb2b148f0abb0993982"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ArRobot::remAction </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArAction.html">ArAction</a> *&#160;</td>
          <td class="paramname"><em>action</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Removes an action from the list, by pointer. </p>
<p>Finds the action with the given pointer and removes it from the actions...</p>
<p>if more than one action has that pointer it find the one with the lowest priority </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">action</td><td>the action we want to remove </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>whether remAction found anything with that action to remove or not </dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__easy.html#ga9ab030786d423237d3e4aa06c0e9d8ce" title="Adds an action to the list with the given priority. ">addAction</a> </dd>
<dd>
<a class="el" href="group__easy.html#ga38a1196e4c6af08645ad785fbc0d3bea" title="Removes an action from the list, by name. ">remAction(const char*)</a> </dd>
<dd>
<a class="el" href="classArRobot.html#a932c6a28fda13518cdb6070b57786050" title="Returns the first (highest priority) action with the given name (or NULL) ">findAction(const char*)</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ga38a1196e4c6af08645ad785fbc0d3bea"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ArRobot::remAction </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>actionName</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Removes an action from the list, by name. </p>
<p>Finds the action with the given name and removes it from the actions...</p>
<p>if more than one action has that name it find the one with the lowest priority </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">actionName</td><td>the name of the action we want to find </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>whether remAction found anything with that action to remove or not </dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__easy.html#ga9ab030786d423237d3e4aa06c0e9d8ce" title="Adds an action to the list with the given priority. ">addAction()</a> </dd>
<dd>
<a class="el" href="group__easy.html#gac6e11dce7c909cb2b148f0abb0993982" title="Removes an action from the list, by pointer. ">remAction(ArAction*)</a> </dd>
<dd>
<a class="el" href="classArRobot.html#a932c6a28fda13518cdb6070b57786050" title="Returns the first (highest priority) action with the given name (or NULL) ">findAction(const char*)</a> </dd></dl>

</div>
</div>
<a class="anchor" id="gaaade8cc11da585cbdcec45f6c8fbe4a6"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArRobot::run </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Starts the instance to do processing in this thread. </p>
<p>This starts the ongoing main loop, which invokes robot tasks until stopped.</p>
<p>This function does not return until the loop is stopped by a call to <a class="el" href="group__easy.html#gaff02cf7043c2e7239ec6b6e11ff6b146" title="Stops the robot from doing any more processing. ">stopRunning()</a>, or if 'true' is given for <em>stopRunIfNotConnected</em>, and the robot connection is closed or fails.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">stopRunIfNotConnected</td><td>if true, the run will return if there is no connection to the robot at any given point, this is good for one-shot programs... if it is false the run won't return unless stop is called on the instance</td></tr>
    <tr><td class="paramname">runNonThreaded</td><td>if true, the robot won't make the usual thread that it makes for reading the packets...you generally shouldn't use this, but it's provided in case folks are using programs without threading</td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__easy.html#gaff02cf7043c2e7239ec6b6e11ff6b146" title="Stops the robot from doing any more processing. ">stopRunning()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="gac4425ceba89af5001dec83246190273a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArRobot::runAsync </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Starts the instance to do processing in its own new thread. </p>
<p>This starts a new thread then has runs through the tasks until stopped.</p>
<p>This function doesn't return until something calls stop on this instance. This function returns immediately </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">stopRunIfNotConnected</td><td>if true, the run will stop if there is no connection to the robot at any given point, this is good for one-shot programs. If false then the thread will continue until <a class="el" href="group__easy.html#gaff02cf7043c2e7239ec6b6e11ff6b146" title="Stops the robot from doing any more processing. ">stopRunning()</a> is called. </td></tr>
    <tr><td class="paramname">runNonThreadedPacketReader</td><td>selects whether the packet reader object (receives and parses packets from the robot) should run in its own internal asychronous thread. Mostly for internal use. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__easy.html#gaff02cf7043c2e7239ec6b6e11ff6b146" title="Stops the robot from doing any more processing. ">stopRunning()</a> </dd>
<dd>
<a class="el" href="group__easy.html#ga95201be7c39b521983b51e6f5d9303e4" title="Suspend calling thread until the ArRobot run loop has exited. ">waitForRunExit()</a> </dd>
<dd>
<a class="el" href="classArRobot.html#a5aecc7ac998c9a31b82fdb904efa8609" title="Lock the robot instance. ">lock()</a> </dd>
<dd>
<a class="el" href="classArRobot.html#a403d9de010dc2b8d478cd0b14b2d9491" title="Unlock the robot instance. ">unlock()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ga033038331dbe4cbaabad2d0bc67653f0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArRobot::setDeltaHeading </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>deltaHeading</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sets the delta heading. </p>
<p>Sets a delta heading to the robot, it caches this value, and sends it during the next cycle.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">deltaHeading</td><td>the desired amount to change the heading of the robot by </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gafbbe47b4351cc9baf2559d188803ee72"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArRobot::setHeading </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>heading</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sets the heading. </p>
<p>Sets the heading of the robot, it caches this value, and sends it during the next cycle.</p>
<p>The heading value is rounded to the nearest whole degree before sending to the robot.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">heading</td><td>the desired heading of the robot (degrees) </td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="gyroExample_8cpp-example.html#a16">gyroExample.cpp</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga613157de1936d0c34ed73e32787ae661"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArRobot::setRotVel </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>velocity</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sets the rotational velocity. </p>
<p>Sets the rotational velocity of the robot, it caches this value, and during the next command cycle, the value is rounded to the nearest whole integer degree, and sent to the robot as an RVEL command.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">velocity</td><td>the desired rotational velocity of the robot (deg/sec) </td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="gyroExample_8cpp-example.html#a15">gyroExample.cpp</a>, and <a class="el" href="simpleMotionCommands_8cpp-example.html#a26">simpleMotionCommands.cpp</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="gac4c369f0f8d8a41f2b3f2290bdcbb03c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArRobot::setVel </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>velocity</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sets the velocity. </p>
<p>Sets the desired translational velocity of the robot.</p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classArRobot.html#a5b1b947ef2e28d171f023b1bbe5d02a9" title="Clears what direct motion commands have been given, so actions work. ">clearDirectMotion</a></dd></dl>
<p><a class="el" href="classArRobot.html" title="Central class for communicating with and operating the robot. ">ArRobot</a> caches this value, and sends it with a VEL command during the next cycle. The value is rounded to the nearest whole number mm/sec before sent to the robot controller.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">velocity</td><td>the desired translational velocity of the robot (mm/sec) </td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="simpleMotionCommands_8cpp-example.html#a24">simpleMotionCommands.cpp</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="gaeb05754b7747988dd97a961eaded6830"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static double ArMath::sin </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>angle</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Finds the sin, from angles in degrees. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">angle</td><td>angle to find the sin of, in degrees </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the sin of the angle </dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__easy.html#ga953ffdd0b569b33cbfd5a8f69cf3c69a" title="Finds the cos, from angles in degrees. ">cos</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ga4dfb878a3f9123b8dd96ae05b2fd94cb"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArUtil::sleep </td>
          <td>(</td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>ms</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Sleep for the given number of milliseconds. </p>
<p>Sleep (do nothing, without continuing the program) for.</p>
<ul>
<li>ms miliseconds. Use this to add idle time to threads, or in situations such as waiting for hardware with a known response time. To perform actions at specific intervals, however, use the <a class="el" href="classArTime.html" title="A class for time readings and measuring durations. ">ArTime</a> timer utility instead, or the <a class="el" href="classArUtil.html#ad3496dfd2693d19553a399883a4e20e1" title="Get the time in milliseconds. ">ArUtil::getTime()</a> method to check time. <dl class="section note"><dt>Note</dt><dd>in Linux, it actually calls the system usleep() function with 10 ms less than the desired sleep time, since usleep() can sleep for about 10 ms. more than requested (for small sleep times especially, it sleeps for the next highest multiple of 10.) </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ms</td><td>the number of milliseconds to sleep for </td></tr>
  </table>
  </dd>
</dl>
</li>
</ul>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="armExample_8cpp-example.html#a25">armExample.cpp</a>, <a class="el" href="cameraPTZExample_8cpp-example.html#a16">cameraPTZExample.cpp</a>, <a class="el" href="demo_8cpp-example.html#a32">demo.cpp</a>, <a class="el" href="dpptuExample_8cpp-example.html#a31">dpptuExample.cpp</a>, <a class="el" href="gotoActionExample_8cpp-example.html#a42">gotoActionExample.cpp</a>, <a class="el" href="gpsExample_8cpp-example.html#a25">gpsExample.cpp</a>, <a class="el" href="imuExample_8cpp-example.html#a24">imuExample.cpp</a>, <a class="el" href="laserConnect_8cpp-example.html#a16">laserConnect.cpp</a>, <a class="el" href="lasers_8cpp-example.html#a21">lasers.cpp</a>, <a class="el" href="moduleExample_8cpp-example.html#a22">moduleExample.cpp</a>, <a class="el" href="mtxIO_8cpp-example.html#a23">mtxIO.cpp</a>, <a class="el" href="mtxPowerControl_8cpp-example.html#a6">mtxPowerControl.cpp</a>, <a class="el" href="mtxWheelLights_8cpp-example.html#a16">mtxWheelLights.cpp</a>, <a class="el" href="netServerExample_8cpp-example.html#a11">netServerExample.cpp</a>, <a class="el" href="robotConnectionCallbacks_8cpp-example.html#a19">robotConnectionCallbacks.cpp</a>, <a class="el" href="seekurPower_8cpp-example.html#a12">seekurPower.cpp</a>, <a class="el" href="simpleConnect_8cpp-example.html#a24">simpleConnect.cpp</a>, <a class="el" href="simpleMotionCommands_8cpp-example.html#a22">simpleMotionCommands.cpp</a>, <a class="el" href="soundsQueueExample_8cpp-example.html#a20">soundsQueueExample.cpp</a>, <a class="el" href="threadExample_8cpp-example.html#a11">threadExample.cpp</a>, and <a class="el" href="twoRobotWander_8cpp-example.html#a27">twoRobotWander.cpp</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="gac354fe63f9e58b33343f38923f1588fd"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArRobot::stop </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Stops the robot. </p>
<p>Stops the robot, by telling it to have a translational velocity and rotational velocity of 0.</p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classArRobot.html#a5b1b947ef2e28d171f023b1bbe5d02a9" title="Clears what direct motion commands have been given, so actions work. ">clearDirectMotion</a></dd></dl>
<p>Also note that if you are using actions, this will cause the actions to be ignored until the direct motion precedence timeout has been exceeded or clearDirectMotion is called. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="classArRobot.html#a6f7742ed0fa340fb1ff917e4239e81e8" title="Sets the length of time a direct motion command will take precedence over actions, in milliseconds. ">setDirectMotionPrecedenceTime</a> </dd>
<dd>
<a class="el" href="classArRobot.html#ab8d78b33276fef00976343d5e1aab141" title="Gets the length of time a direct motion command will take precedence over actions, in milliseconds. ">getDirectMotionPrecedenceTime</a> </dd>
<dd>
<a class="el" href="classArRobot.html#a5b1b947ef2e28d171f023b1bbe5d02a9" title="Clears what direct motion commands have been given, so actions work. ">clearDirectMotion</a> </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="simpleMotionCommands_8cpp-example.html#a25">simpleMotionCommands.cpp</a>, and <a class="el" href="twoRobotWander_8cpp-example.html#a29">twoRobotWander.cpp</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="gaff02cf7043c2e7239ec6b6e11ff6b146"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArRobot::stopRunning </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>doDisconnect</em> = <code>true</code></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Stops the robot from doing any more processing. </p>
<p>This stops this robot's processing cycle.</p>
<p>If it is running in a background thread (from <a class="el" href="group__easy.html#gac4425ceba89af5001dec83246190273a" title="Starts the instance to do processing in its own new thread. ">runAsync()</a>), it will cause that thread to exit. If it is running synchronously (from <a class="el" href="group__easy.html#gaaade8cc11da585cbdcec45f6c8fbe4a6" title="Starts the instance to do processing in this thread. ">run()</a>), then <a class="el" href="group__easy.html#gaaade8cc11da585cbdcec45f6c8fbe4a6" title="Starts the instance to do processing in this thread. ">run()</a> will return. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">doDisconnect</td><td>If true, also disconnect from the robot connection (default is true). </td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__easy.html#ga808f67ab5b35165c2605b3002df4b499" title="Returns whether the robot is currently running or not. ">isRunning</a> </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="cameraPTZExample_8cpp-example.html#a27">cameraPTZExample.cpp</a>, <a class="el" href="robotConnectionCallbacks_8cpp-example.html#a20">robotConnectionCallbacks.cpp</a>, <a class="el" href="simpleConnect_8cpp-example.html#a25">simpleConnect.cpp</a>, and <a class="el" href="simpleMotionCommands_8cpp-example.html#a27">simpleMotionCommands.cpp</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="gaaddbe148df227cf5f85aff738379adbc"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static double ArMath::subAngle </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>ang1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>ang2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>This subtracts one angle from another and fixes the result to [-180,180]. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ang1</td><td>first angle </td></tr>
    <tr><td class="paramname">ang2</td><td>second angle, subtracted from first angle </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>resulting angle, in range [-180,180] </dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__easy.html#ga1f04eeb3c55892aef6fc179f48eaba18" title="This adds two angles together and fixes the result to [-180, 180]. ">addAngle</a> </dd>
<dd>
<a class="el" href="group__easy.html#ga56e81d05c4a713bcc04b0c620b787d50" title="Takes an angle and returns the angle in range (-180,180]. ">fixAngle</a> </dd></dl>

</div>
</div>
<a class="anchor" id="gaad297269fc57d48d6ee91e64f2917610"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static double ArMath::tan </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>angle</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Finds the tan, from angles in degrees. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">angle</td><td>angle to find the tan of, in degrees </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the tan of the angle </dd></dl>

</div>
</div>
<a class="anchor" id="gafb0d553568d1001318593afe634721c8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classArRobot.html#a220edf37b6d65fbbe9922d11ccdf0a25">ArRobot::WaitState</a> ArRobot::waitForConnect </td>
          <td>(</td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>msecs</em> = <code>0</code></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Suspend calling thread until the <a class="el" href="classArRobot.html" title="Central class for communicating with and operating the robot. ">ArRobot</a> is connected. </p>
<p>This will suspend the calling thread until the <a class="el" href="classArRobot.html" title="Central class for communicating with and operating the robot. ">ArRobot</a>'s run loop has managed to connect with the robot.</p>
<p>There is an optional paramater of milliseconds to wait for the <a class="el" href="classArRobot.html" title="Central class for communicating with and operating the robot. ">ArRobot</a> to connect. If msecs is set to 0, it will wait until the <a class="el" href="classArRobot.html" title="Central class for communicating with and operating the robot. ">ArRobot</a> connects. This function will never return if the robot can not be connected with. If you want to be able to handle that case within the calling thread, you must call <a class="el" href="classArRobot.html#a0d7e997800529992be3f4f797b968e0b" title="Suspend calling thread until the ArRobot is connected or fails to connect. ">waitForConnectOrConnFail()</a>. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">msecs</td><td>milliseconds in which to wait for the <a class="el" href="classArRobot.html" title="Central class for communicating with and operating the robot. ">ArRobot</a> to connect </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>WAIT_CONNECTED for success </dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classArRobot.html#a0d7e997800529992be3f4f797b968e0b" title="Suspend calling thread until the ArRobot is connected or fails to connect. ">waitForConnectOrConnFail</a> </dd>
<dd>
<a class="el" href="classArRobot.html#af076605e1e7f84864a3cb21f1596c59e" title="Wake up all threads waiting on this robot. ">wakeAllWaitingThreads</a> </dd>
<dd>
<a class="el" href="classArRobot.html#ab35257cf445e23c6f8059d1ea792f43f" title="Wake up all threads waiting for connection. ">wakeAllConnWaitingThreads</a> </dd>
<dd>
<a class="el" href="classArRobot.html#a344d2102ac9935b5e3a469b2d9e17ae0" title="Wake up all threads waiting for the run loop to exit. ">wakeAllRunExitWaitingThreads</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ga95201be7c39b521983b51e6f5d9303e4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classArRobot.html#a220edf37b6d65fbbe9922d11ccdf0a25">ArRobot::WaitState</a> ArRobot::waitForRunExit </td>
          <td>(</td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>msecs</em> = <code>0</code></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Suspend calling thread until the <a class="el" href="classArRobot.html" title="Central class for communicating with and operating the robot. ">ArRobot</a> run loop has exited. </p>
<p>This will suspend the calling thread until the <a class="el" href="classArRobot.html" title="Central class for communicating with and operating the robot. ">ArRobot</a>'s run loop has exited.</p>
<p>There is an optional paramater of milliseconds to wait for the <a class="el" href="classArRobot.html" title="Central class for communicating with and operating the robot. ">ArRobot</a> run loop to exit . If msecs is set to 0, it will wait until the ArRrobot run loop exits. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">msecs</td><td>milliseconds in which to wait for the robot to connect </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>WAIT_RUN_EXIT for success </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="actsColorFollowingExample_8cpp-example.html#a55">actsColorFollowingExample.cpp</a>, <a class="el" href="cameraPTZExample_8cpp-example.html#a28">cameraPTZExample.cpp</a>, <a class="el" href="demo_8cpp-example.html#a51">demo.cpp</a>, <a class="el" href="dpptuExample_8cpp-example.html#a30">dpptuExample.cpp</a>, <a class="el" href="gpsRobotTaskExample_8cpp-example.html#a39">gpsRobotTaskExample.cpp</a>, <a class="el" href="imuExample_8cpp-example.html#a30">imuExample.cpp</a>, <a class="el" href="lineFinderExample_8cpp-example.html#a26">lineFinderExample.cpp</a>, <a class="el" href="simpleConnect_8cpp-example.html#a26">simpleConnect.cpp</a>, <a class="el" href="simpleMotionCommands_8cpp-example.html#a28">simpleMotionCommands.cpp</a>, <a class="el" href="triangleDriveToActionExample_8cpp-example.html#a30">triangleDriveToActionExample.cpp</a>, and <a class="el" href="wander_8cpp-example.html#a29">wander.cpp</a>.</dd>
</dl>
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="footer">Generated by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.11 </li>
  </ul>
</div>
</body>
</html>
